//　修饰方法

class Sum {
    @logger
    add(a, b) {
        return a + b;
    }
}
function logger(target, name, descriptor) {
    console.log("++++++++")
    let oldValue = descriptor.value;
    descriptor.value = function () {
        console.log(`${name}(${Array.prototype.join.call(arguments, ',')})`);
        return oldValue.apply(this, arguments);
    }
}
// let oldDescriptor=Object.getOwnPropertyDescriptor(Sum.prototype,'add');
// logger(Sum.prototype,'add',oldDescriptor);
// Object.defineProperty(Sum.prototype,'add',oldDescriptor);

let sum = new Sum();
let ret = sum.add(1, 2);
console.log(ret);